package com.jwds.digital.bios.business.core.infrastructure.dto.dispatch.assembler;

import com.jwds.digital.bios.business.core.infrastructure.dto.dispatch.DispatchRevertReqDTO;
import com.jwds.digital.bios.business.core.infrastructure.vo.dispatch.DispatchRevertRespVO;
import com.jwds.digital.bios.business.core.infrastructure.entity.dispatch.DispatchRevert;
import java.util.Objects;

/**
 * DispatchRevert DTO与Entity之间的相互转换
 *
 * @author 林柏云
 * @date 2024-10-24
 */
public class DispatchRevertAssembler {

  /**
  * 将传输对象转换为实体对象
  *
  * @param dto 传输对象
  * @return 实体对象
  */
  public static DispatchRevert dto2entity(DispatchRevertReqDTO dto)  {
    if (dto == null) {
      return null;
    }
    DispatchRevert entity = new DispatchRevert();
    entity.setBinCode(dto.getBinCode());
    entity.setOriginPointion(dto.getOriginPointion());
    entity.setOriginDevice(dto.getOriginDevice());
    entity.setDestPointion(dto.getDestPointion());
    entity.setDestDevice(dto.getDestDevice());
    entity.setProcessRoute(dto.getProcessRoute());
    entity.setIsConfluence(dto.getIsConfluence());
    entity.setId(dto.getId());
    return entity;
  }

  /**
  * 将传输对象转换为实体对象
  *
  * @param dto 传输对象
  * @param entity 原实体对象
  * @return 实体对象
  */
  public static DispatchRevert dto2entity(DispatchRevertReqDTO dto, DispatchRevert entity){
    if (dto == null) {
      return null;
    }
    if(Objects.nonNull(dto.getBinCode())) {
      entity.setBinCode(dto.getBinCode());
    }
    if(Objects.nonNull(dto.getOriginPointion())) {
      entity.setOriginPointion(dto.getOriginPointion());
    }
    if(Objects.nonNull(dto.getOriginDevice())) {
      entity.setOriginDevice(dto.getOriginDevice());
    }
    if(Objects.nonNull(dto.getDestPointion())) {
      entity.setDestPointion(dto.getDestPointion());
    }
    if(Objects.nonNull(dto.getDestDevice())) {
      entity.setDestDevice(dto.getDestDevice());
    }
    if(Objects.nonNull(dto.getProcessRoute())) {
      entity.setProcessRoute(dto.getProcessRoute());
    }
    if(Objects.nonNull(dto.getIsConfluence())) {
      entity.setIsConfluence(dto.getIsConfluence());
    }
    if(Objects.nonNull(dto.getId())) {
      entity.setId(dto.getId());
    }
    return entity;
  }

  /**
  * 将实体对象转换为传输对象
  *
  * @param entity 实体对象
  * @return 传输对象
  */
  public static DispatchRevertRespVO entity2dto(DispatchRevert entity) {
    if (entity == null) {
      return null;
    }
    DispatchRevertRespVO dto = new DispatchRevertRespVO();
    dto.setId(entity.getId());
    dto.setBinCode(entity.getBinCode());
    dto.setOriginPointion(entity.getOriginPointion());
    dto.setOriginDevice(entity.getOriginDevice());
    dto.setDestPointion(entity.getDestPointion());
    dto.setDestDevice(entity.getDestDevice());
    dto.setProcessRoute(entity.getProcessRoute());
    dto.setIsConfluence(entity.getIsConfluence());
    dto.setCreateUser(entity.getCreateUser());
    dto.setCreateTime(entity.getCreateTime());
    dto.setModifyUser(entity.getModifyUser());
    dto.setModifyTime(entity.getModifyTime());
    dto.setId(entity.getId());
    return dto;
  }

}
